@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED697 FREE SECTORS COPYING---D8:COPY32.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 144ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u8<<  B JKIHiDiELV`L8 8 BLV`LxT}8t8l Lu8hihiHHȱȱL8c !#3`Lu8JJJJ`H 8h`HU}ȩh Q8L8 Z8L8 8L8 8L8 8L8S:@9E:E9H '9 H9I9 8 '9h)0ICV}9D9L8 L :::: :Lr:::IEL[::i:iIIL[:`:i::iX}::L:`L{:w:w: C`L:L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUP.SYS:̩ 8Y} x:ɀL: '9`88 |9Y:X: '9L); D8:DUP.SYS; 8::88 9 '98? :`;WL`; 9Z}Ln; ` :Y;Y;L;L;)} Setting Up ATARI 130XE Ram Disk; 9L; ; -9  [} L;D8:; :9 :Y;L 5==8= > >= q}LD>o=m==i 6=L>`TLI>Lj>} 堢>L ;6L> This program will work with and>t r};6L>" affect the diskette inserted in> ;6L> drive number %C.%E9> ?8L?"To specify another drive, simply s}> ;6LD?# enter just the drive's number at? ;6Lq?" the prompt (any key but a valid?N ;6L?& drive number requests t} 'no change').?{ ;6L?Which drive to use ? ? N6 _;E>E>1L:@4E>L:@E> 6E>9E>9E>9E>:L)@ %E%E u}Drive %C now selected.%E9@ ?8Lu@Lg@)%E%ENo change--drive %C still selected.%E9@= ?8`'Lz@L@ Current Syste v}m Configuration:@} ;6L@Active Drives: @ N6v@v@L@ v@=%:L@v@i0 6 6v@L@ 6 )L-AL w}&A (RamDisk)A ;6 )v@v@ILALdA!κ IF a RAMDISK is added toAB ;6LA# this configuration, th x}e DOS menuAn ;6LA will NOT work properly!A ;6v@ILOBLA!Һ do NOT return to DOS withA ;6LB" this confi y}guration active. theA ;6LHB# DOS menu will NOT work properly!B$ ;6L|B)%EUp to %B files open simultaneously.%E%E z}BR ?8LBDisk writes occur B N6yIPLBLB verify.B ;6LBLB with verify.B ;6` CloLBLC&} {}B ;6 w@LIC"Do you want to change any part ofC& ;6LrC that configuration (Y/N) ? CS N6 `= |}LC 6 69` B ByBLC#}Specify active drives by simplyC ;6LC" typing their drive numbers, oneC }} ;6L!D! after another. Any key exceptC ;6LOD# a valid drive number (1 to 4) isD+ ;6L}D# assumed to be end of your ~} entry.DY ;6LDActive drive numbers ? D N6 )   _;BB1LD4BLDB 6 6B) %: LDL }DLD 6L!E#How many files do you need to haveD ;6LKE open simultaneously (1-7) ? E+ N6 _;BB1L|E7BL|E }B 6B)  6LE!Do you want disk writes to occurE ;6LE verify (Y/N) ?E N6 `=ILEPyLEWyLF }!} E ;6 w@L@F#Are you this configurationF ;6LgF is what you want (Y/N) ? F }J N6 `=LFByB B LG  6LF!Current system configuration hasF ;6LF been changed. Do you want toF } ;6LG! make these changes to the diskF ;6L;G! currently in drive %C (Y/N) ? 9G ?8 `=ILG H69 }:  69LG 6 6LG!Unable to change DOS on that diskG ;6LG! because error # %U occurred.%E9 }G ?8 6LGLB`,LGL!H&}Please enter the name of the BASICG ;6LLH program that you wish to haveH+ ;6LzH# auto }matically RUN when this diskHV ;6LH is next Booted.H ;6LH!Do NOT enter the drive specifierH ;6LH# (i.e., do }not use D:, D1:, etc.)H ;6LI" but DO use the proper extensionH ;6LKI" (e.g., .BAS, .SAV, etc.) if youI( ;6LtI } SAVEd it with an extension.IU ;6LI"REMEMBER: The BASIC program thatI~ ;6LI wish to 'AUTORUN' in this wayI ;6L }I! MUST be SAVEd on the same diskI ;6L%J" which receives this AUTORUN.SYSJ ;6L@J program file!J/ ;6LpJ%Now e }nter your BASIC program's nameJJ ;6LJ here >> Jz N6 9 |;LJ`G9 <`ILJLJ&} }ήӠ堢J ;6LK"When the disk currently in driveJ ;6L=K# number %C is next booted, what%E9K ?8L }hK do you want to happen?KN ;6LK"1. The RS232 (R:) drivers for theKr ;6LK! ATARI 850 Interface Module areK ;6L }K loaded and made active.K ;6LL&2. A BASIC program will automaticallyK ;6L2L load and RUN.L! ;6L_L"3. Both }actions (1. and 2. above)L< ;6LxL will occur.Li ;6LL0. None--quit to main menu.L ;6LL! Your choice (0,1,2 },or 3) ? L N6 _;JJ0LL3ʹJLLJ)` = ;LJRINTELM JMMLM9`M)LwO GILMLUM} }Oops! That was not aM; ;6LsM valid file name!M_ ;6LM%Read the instructions again, please.M} ;6 ;9`99 }Т9 < H699 69LeO9ILN9LN}Be careful!M ;6L9NThe BASIC program name you used }N ;6L`N has not yet been SAVEd onNC ;6LxN this disk!Nj ;6LNDo you want to do this AUTORUNN ;6LN setup a }nyway (Y/N) ? N N6 `=ILN9`LeO 6L O#Oops! Error # %U while trying to%E9N ?8L=O check that BASIC prog }ram file.O ;6L]O%EUnable to continue.OG ?8`:9Т: L }U9SI2LU BLU9SI3LU MLU =9LU 6 6 ;LS`:S,or 3) ? U8 N6 _;9S99SI0L~U RLU9SI1LU F>L Au L <.`Lu 4N (c)1983 Action Computer Services  B JKIH}iDiELV`L94 94 BLV`L44l L4 &` Fj`8冨}凪` 4EӅӥ 4`ʆǪƩ Ɛee` 4ƦʆǢ &Ɛeǐ 5 }5L4 4'&&&8儨児祂*L4&&*ń8&&L4 W5`hihiHHȱȱ}L4c !#3`L4JJJJ`H 4h`Hȩh n4L5 w4L5 !4L}5 )4L5 /4H8`HhHh [6L5 BHI V䅠L5 L6 94L5Ԇ} ؠPIPP` 6P )4L5 6L6 6L6 7L6H- 68塪墨hL7 7L6 "}7L6 6ȹP`텠8堨塪 6芨Oȩ-`PP 6P棩 Ѥģ0}-ģ6000:,80H & &ehe&eģ0ʥ 8堅塅`$ 6&*i0:0i 6Ʀ`}¢ 护°ڱ%ȱ%E 6L\8担CS N6L\8I 7L\8H 8L\8 6L\8 } &B V 5NLMȑ` MLN%B VL5S:8E:9[\ZUVT`Ѣ =9`ȱѢĦ}`膡``ťƤe8夰LS9 Ƥ8`ŦeѠ}e桊LW9RUb IOCBN9leBuf;b IOCBlen = Len%b IOCBcmd = 11b CIO(0,$20)a a} IF IOCBsta>3 THENa. QUIT(IOC9,"while writing DOS 2.x Lz:`L~:)IL:L~:)IL:L:`L: }6::`L:Lu L:o:ҭv:4u:4 H6 :L: 6 6L; Hit Ԡ to Restart.: ;6L9; Hit Ԡ to qu}it to DOS.; ;6)ILS;L@;)Ld; : w:FilLm; 5g;} 6L;Error #%B %S%Ei;h;g;;{ ?8 :HL;;}L;was unexpected!;; j;L;L;+}%E%E%EThe disk in drive %U does not appear9; ?8L)< to be a valid DOS 3 disk!}< ;6 : 9 RETURNLB<4< :3<3=m===m==== "5=e==e===== g==Р=L'>`ert DOL>9}>9>>>͎>>L>>>>> g=>i>>i>>>L>9ۢ g=>͒>L+?>9>͓>L%}?>L%? ;>L>` L0?,?,?0LH?9,?LH?`,?AL]?Z,?L]?`,?I.Lh?` ;pasLq?t:s:m?Ȍl??l?m?L?}m?l? 49e9ek?k?L?k?IL?m?t:l?s:l?Хm?L?` FIL???D\:9i0]::^:??}?? 49e?9e??m??iI L{@? L{@?m??i?[:??L3@?i ?i}I /?i ?iI ?i ?iI LA.?[:? ? ?LA?m??iI LA?m??i?}[:??L@?[:8???[:??DADA?L`A'?[:?? -?? 6?L9A`Z) LlAbAaAhAgA} 6LA # Fi}le name # File nameA ;6LA!   A ;6gAhA0LBs:aAt:bALBbAaA 4}9e9efAfAILBfALBhAgA 4eeAgA)hA)LoBeA 9LyBeA 9aA bA}LB 6bAaA 7 6bAaA ?gAhAaAbALAbAaA`$ LBBBLB"%EOn which drive (1-4) is %S disk?BBB} ?8 :BBILC} 6 :B)BB1LGC4BLGCB 6B)` 6LCLRCLpC} ٠CU ;6LC!}Copy files from a DOS 3 disk toCz ;6LC a DOS 2.5 (or DOS 2.0) disk.C ;6LC%(Hit Π for drive # to quit.)C} ;6LDDOS 3D B9LDDOS 2.xD B9`imem - L4D+D*D+D*D 49e,D9e-D,Di.D-Di/D,Di }-Di0D,Di -Di99.D/D)9ȱ)90D`LD99999ɀ9LD`LD99}`DOSLDD9D9D9ɀ9LUED99LUEDD99 = DDeDDeDDL E8D9D9` LkEgE }b VcLEgELELEwhile closing DOS 2.x fileEc j;`tLEE hE:e\dbEjk VcLFL} Fwhile opening DOS 2.x fileEc j;`%BLFFF9e9dFiFh b VcLvFLlFwhile writing DOS 2.x fi}leFQc j;`Ԡ LFxFwF} 6xFwF 49eyF9ezF?wFxF%yFzFyFzFIL0GLFNo} file with that number!F ;6 6L%GHit Ԡ to try again.G ;6 {:`LFG%E%EReady to copy G3 ?8xFwF ?LtG%E%EHit }Ԡ if okay.%EGY ?8LGHit Ԡ to reject copy.G~ ;6)ILGLG)LG`xFwF 1D99}F D}|F{F9M9LH 6L H%Please remove DOS 3 ('from') disk andG ;6LMH" insert DOS 2.x ('to') disk.H* ;6 6LvH }Push Ԡ when ready.HZ ;6 {:LH#---copying Ϡ DOS 2.x disk---H ;6}F ELH}FILH}F E|F{F F }F9M9}LI hE 6LI%Please remove DOS 2.x ('to') disk andH ;6L>I" insert DOS 3 ('from') disk.I ;6 6LgI Push }Ԡ when ready.IK ;6 {:LI#---copying ͠ DOS 3 disk---It ;699LG9M9LI hE} 6LIFile Copied OK}AY!I ;6 6LIHit Ԡ to continue.I ;6 {:`axGoodRLJ899) J) J J J 499 OCL{J}(%E%EPlace the DOS 3 disk in drive %B%E%E9JR ?89M9LK 6LJ$CAUTION: You will be swapping disks.J ;6 6LJ } Put a write protect tabJ ;6LK on your DOS 3 disk!J ;6LVKLHK&Place the DOS 2.x disk in drive %B%E%E}9K! ?8 6LuKPush Ԡ when ready.K\ ;6 {: > n?s: t:LKLK)}Sorry! No files on that DOS 3 disk!K ;6 :}JȌJJJ iAJJ 6 6LL#Choose a file to copy by typing itsK ;6L3L number as given above.L ;6 6Js:J}t:0LLLmLOr see more files by typingLQ ;6LL just Π.Lw ;6LLLL Or just hit Π to Restart,L ;6LL$ } Quit to DOS, or View names again.L ;6 6LM堿L N6 ?<J J JJJs:Jt:LK J JL'N}} 6L]M%EReady to quit?%E%E%EMF ?8 6 6LM Hit Ԡ to Restart.Mm ;6LM Hit Ԡ to Quit to DOS.M ;6L}M% Hit Π to View files again.M ;6)ILMLM)LN :L$N)L$N w:L0NJ J ~FLK L7N} H6LENK:NB 6 J3N3NLVNv:4u:4} 6 :L}N4v:4u:;4;46Ny:5Nx:o:) 4N`}zN6LENK:NB 6 J3N3NLVNv:4u:4} 6 :L}N4v:4u:;4;46Ny:5Nx:o:) 4N`u L <.`Lu 4O (c)1983 Action Computer Services  B JKIH}iDiELV`L94 94 BLV` Fj`8冨凪` 4EӅӥ 4}`ʆǪƩ Ɛee` 4ƦʆǢ &Ɛeǐ 4 4L4hihiHHȱȱ}`Hh`Hȩh n4L]5 w4L]5 !4L]5 )4L]5 /4H8`HhH}h 5L]5 BHI V䅠L]5 L5 94L]5Ԇ ؠPIPP` 6P )4L]5} <6L6 6LA6 U6L6H- 68塪墨hLU6 n6L6 u6L6 6ȹP`텠8堨} 6芨Oȩ-`PP 5P棩 Ѥģ0-ģ6000:,80H & &ehe&}eģ0ʥ 8堅塅`$ 6&*i0:0i 6Ʀ`¢ 护°ڱ%ȱ%}E 6L7担CS 5L7I n6L7H i7L7 <6L7S: 8E:8[\ZUVT`Hhƣ}Ģ`ƥĤ`Oq8}q8}q8}q8 q8}LF:} 6`LO:0123456789ABCDEFLc:O:O:JJJJP: 6O:)P: 6`L:::: `:: `:`L:::}: :L: 6:d:L: 6:譨:L: 6:: <6`L:)IL;L:)L;L;`Lu L&;B:} ;LN;}Please insert DOS 2.5;6 5Ln;disk and press Ԣ;X 5 :L0;L; 05{;L;}Error %B while %S%E};|;}{;; 7L;To continue DISKFIX, hit Ԣ; 5 : L:L;;;0L<9;L<``L< < < ;I 058>9>;>:>8>@R =`Lj> 05c>d>f>e>c>W =`L>>}> 4q8e1:r8e2:1:2:6:1:i@:2:iA:@:A:ȱ;::: m@:*(mA:ȱ9:8:1:i}2:i : J8 :` L??IL!@L@writing dir}ectory@? ~;`DL*@#@"@"@#@L@#@"@ 4q8e%@r8e&@im"@m#@&@%@ <>$@$}@IL@L@reading directory@$@ ~;"@#@L2@`LL@@ C:@@@i@@@LAF@)@@)L A@ 8LA}@ 8@ L$A 6@ n6 6@ >6:LA6:)LUAD 6LA6:IBLgA 6LA6:IbLyA* 6LA6:ICLAW 6}LA6:ILA 6LA6:I#LA* 6LA? 6 6: 5LALA (unused)A 5@L@`LA 05AA @LB%E%EChoose a f}ile number> A 7;;AA S<`q8LTB '@B2 A2BLqBB2 A2BLBB2 6}PBPB`LB`m LBBB QB5:4:4:5:0?4:5:0LBLB%EYou didn't choose anything!%EB 7`4: >}6:L1CLCThat file is unused.C 55:4:`LXC#} Type Name Length StartC4 5LhC Cb 56: `: 6 } 6: 5 6 6;::: : 6 6 69:8: :LC%EâC 76: : 6 6: 5 6 6;::: : 6 6 } 69:8: : 6LD%E%S BBD 7L-D this fileD# =LED5:4:`LIDS3: S)LmDdLrD`}@ LDtDsDvDuDsDwDtDDDwDLDxDxDLDwD8xD=yDLDuDvDxDLDwDLDvDuD`LD }FD8FuE3:!u88DvDL3EDD򈑮LHEDDÈ mD*(mDHHY Dhh}8DDDDHHZ Dhh 5`ELEEEEE 4E)E)Ee}Ee818`L F8u '88 '8FFFFLXFFF EFFL5FFhFpF}FLFFF EFFLbF E`LFFFFi}FFiFFFJJ`LFFFFi}Fi)FF}i~FiFFF`LGGGGi}Gi)Gi~Gi`LDG8GG=GLGVerifying file %B%E8GGv 7=G >GL&H99 J89>G=G <>9 F7:7:M8GLGL&H}=G>GLG:G>G=G E;GG@G=G?G9 F>G=GLG=G >GLHLKHBad link in file %B - 5:4:H4 7;G }@:A:6:I6:I#6:IB 6:IbL1K4: AGLK6:ICLKLbK#Deleting file } %B - open for write%E5:4:K> 71:2: ?4:5:LJ DJJɀLKLK writing VTOCKJ ~;`LKLK&%E%EIn }sert desired disk and hit ԢK 7 :`LKKN:KM:@I ?1LkLL7L}%EDOS 2.5 not booted!%E%EL 7L^LAbor }ting - please hit ԢLA 5 : #;@ C: 5L~LK:L{ d5LL=}%E ؠ٠%E for ATARI  }DOS 2.5%E%E%EL 73: 3:LL3:LM Current Drive # is %B%E3:L 7LM 1) Change Drive # } 2) Unerase File 3) Verify Disk 4) Rename File by # 5) Quit to DOS Which? M 5 }5KK1LM5KLMK 6KI1LM 9? L:LbOKI2LvN KL NUneraseN B4:5:LsN4:@5:0LsN6:) }6:ICLLN 8I JLsNLlN%EThat's not an erased file!NO 7LbOKI3LN 6 6LNOK to verify entire diskN =LN K JL}bOKI4LN KLNRenameN B4:5:LN4:@5:0LN =JLbOKI5L8OLO}Return to DOS 2.5O =L2O 5 #; L}:LbOL[O%EYou didn't choose anything!%EO; 7LO%E%EPress Ԡ for menu > Oe 7 :LsL`LOB:) K``O L{ d"X; FLOATING POINT MACRO LIBRARYnX;xX; Copyright (c) 1986X; by: Louis J. Chorich IIIX;$X; From ANTIC, The }Atari ResourceX;X; FILE ----> FP.LIBX;X;X; AFP FASC IFP FPI FSUB` F}ADDf FMUL FDIV("LDFR0R,LDFR0P6LDFR1R@LDFR1PJ FST0RT FST0P^ FMOVE}h EXPr EXP10| LOGކ LOG10ސ ZFR0Dښ FR0Ԥ FR1 FLPTR INBUFF CIX ICCOM}B ICBALD ICBAHE ICBLLH ICBLHI CIOVV LBUFFX;X;& CONST220X;: FPADD D }XXPUSH N $> X %> b LDFR0Rl $> v %>  LDFR1R FADD $>  %>  FST0R XXP}ULL X;X; FPSUB  XXPUSH  $>  %>  LDFR0R  $>  %>   LDFR1R* FSUB4 $> }> %> H FST0RR XXPULL \fX;pX;z FPMUL  XXPUSH  $>  %>  LDFR0R $>  %>}  LDFR1R FMUL $>  %>  FST0R XXPULL X;X; FPDIV $X; XXPUSH.FPMOVE }=FR08FPMOVE =FR1B FDIVLFPMOVE FR0= VX; XXPULL`jX;tX;~ AFP  XXPUSH  Q>  PINB}UFF Q> PINBUFFQ>PCIX AFP $>  %>  FST0R XXPULL  X;X; FASC ( }XXPUSH 2 $> < %> F LDFR0RP $> Z %> d FASCn%>xQ R>0 HFASC1$> FASC22} Q 9P 9 GFASC1 !FASC2 FASC13Q 8 IFASC1M>P 83"Q>,P 86 XXPULL @JX; }TX;^ PRINTERRh PICBLLrQ>| PICBLH &ICBAL 'ICBAHQ>  PICCOM$> CIOV:X;X; FPI  !}XXPUSH  $>  %>  LDFR0R FPIQFR0&P 0 QFR0: P D XXPULL NXX;bX;l IFP v "}XXPUSH Q PFR0 Q  PFR0 IFP $>  %>  FST0R XXPULL X;X;LN  XX#}PUSH  $>  %>   LDFR0R* LOG4 $> > %> H FST0RR XXPULL \fX;pX;z LOG  XXPUS$}H  $>  %>  LDFR0R LOG10 $>  %>  FST0R XXPULL X;X; GETEL  XXPU%}SH  Q  P$ Q> . P8 Q> B PL %V )>` FGETEL4j 1t GETEL1~ 1 , Q O> P EGETE&}L3 GETEL2 )> HGETEL1 !GETEL4 GETEL3 # !GETEL2 GETEL4 %> GETEL5 3( Q@72 P 8< )>F '}HGETEL5P XXPULL Z d X;n X;x PUTEL XXPUSH Q  P Q>  P Q>  P % )> FPU(}TEL4 1 PUTEL1 1 , Q O>" P, EPUTEL36 PUTEL2@ )>J HPUTEL1T !PUTEL4^ PUTEL3h #r !PUTEL2| )}PUTEL4 %> PUTEL5 3 Q 8 P@7 )> HPUTEL5 XXPULL  X; X; SQR XXPUSH  $>  %>*}  LDFR0R& LOG100 FPMOVE CONST2=FR1: FDIVD EXP10N $> X %> b FST0Rl XXPULL v  X;+} X; FPMOVE XXPUSH $> FPMOVE1 2 Q 9 P 9 (> HFPMOVE1 XXPULL  X; X; FPCOMP ,} XXPUSH * FPSUB = =LBUFF4 QLBUFF> FFPCOMP3H GFPCOMP1R !FPCOMP2\ FPCOMP1f Q>p P z !FPCOMP4 FP-}COMP2 Q> P  !FPCOMP4 FPCOMP3 Q> P  FPCOMP4 XXPULL  X; X; INPUTFP  XXPUSH  GE.}TNUMAFP = $ XXPULL .8X;BX;L PRINTFP V XXPUSH `FASC =j$>t%>~Q> PRINTERR /}XXPULL X;X; BIEQ  XXPUSH FPCOMP = =LBUFF QLBUFF FBIEQ1 HBIEQ2 BIEQ1 XXPU0}LL !  BIEQ2 XXPULL (2X;<X;F BIGT P XXPUSH ZFPCOMP = =LBUFFd QLBUFFnR>x FBIGT1}1 HBIGT2 BIGT1 XXPULL !  BIGT2 XXPULL X;X; BILT  XXPUSH FPCOMP = =LBUFF2} QLBUFFR> FBILT1 HBILT2" BILT1, XXPULL 6! @ BILT2J XXPULL T^X;hX;r EXPON | XXPUSH3}  $>  %> Q>PCIX LDFR0R LOGFPMOVE =FR1 FMUL EXP $>  %> Q>4}PCIX FST0R XXPULL &X;0X;: EXP D XXPUSH N $> X %> b LDFR0Rl EXPv $>  %> 5} FST0R XXPULL X;X; EXP10  XXPUSH  $>  %>  LDFR0R EXP10 $>  %> 6}  FST0R XXPULL *X;4X;>X;HX;R XXPUSH \5fCp5zA5X;X; XXPULL 7>77}?7X;X; GETNUMQ> PICBLL$Q>. PICBLH8Q>B PICBALLQ>V PICBAH`Q>j PICCOMt$>~ 8}CIOV:X;X; GETNUMQ> PICBLL$Q>. PICBLH8Q>B PICBALLQ>V PICBAH`Q>j PICCOMt$>~ (d"X; FLOATING POINT MACRO LIBRARYnX;xX; Copyright (c) 1986 X; by: Louis J. Chorich IIIX;$X; From ANTIC, The:} Atari Resource"X; FILE ----> FPANNOT.LIBX;X;AFP;;ASCII TO FPFASC;;FP TO ASCIIIFP;;INTE;}GER TO FPFPI;;FP TO INTEGERFSUB`;;FP SUBTRACTIONFADDf;;FP ADDITIONFMUL;;FP MULTIPLICATIONFD<}IV(;;FP DIVISION/LDFR0R;;LOAD FR0 USING X & Y AS POINTER9LDFR0P;;LOAD FR0 USING FLPTR & FLPTR+1 AS POINTER"=}/LDFR1R;;LOAD FR1 USING X & Y AS POINTER,9LDFR1P;;LOAD FR1 USING FLPTR & FLPTR+1 AS POINTER6.FST0R;;STORE FR>}0 USING X& Y AS POINTER@9FST0P;;STORE FR0 USING FLPTR & FLPTR+1 AS POINTERJFMOVE;;MOVE FR0 TO FR1T&EXP;;IN?}VERSE NATURAL LOG - e^X^)EXP10;;INVERSE BASE 10 LOG - 10^XhLOG;;NATURAL LOGrLOG10;;BASE 10 LOG|ZFR0D@};;ZERO OUT FR0FR0;;$D4-$D9 = FR0FR1;;$E0-$E5 = FR13FLPTR;;ALL PURPOSE POINTER FOR FP OPERATIONSINBUFA}F;;INPUT BUFFER CIX;;COUNTER INDEX OFFSET ICCOMB;;IOCB COMMAND BYTE%ICBALD;;IOCB BUFFER ADDRESS LO%ICB}BAHE;;IOCB BUFFER ADDRESS HI$ICBLLH;;IOCB BUFFER LENGTH LO$ICBLHI;;IOCB BUFFER LENGTH HI CIOVV;;CENTRAL C}I/O VECTOR8LBUFF;;LINE BUFFER (USED AS WORKSPACE FOR FP LIBX;X;,CONST22 ;FP CONSTANT WITH VALUE OF TWOX;D}&FPADD ;;ADD 2 FP NUMBERS0"XXPUSH ;;SAVE X,Y,A REGISTERS:)$> ;;GET THE ADDRESS OF THE FIRSTD#%> ;;FLOATINE}G POINT NUMBERN! LDFR0R;;AND LOAD IT INTO FR0X)$> ;;NOW PUT THE SECOND FP NUMBERb%> ;;l LDFR1R;;INTO FR1vF} FADD;;AND ADD THEM*$> ;;POINT TO THE ADDRESS AT WHICH5%> ;;TO PLACE THE RESULT WHICH IS NOW IN FR0 FST0G}R;;AND STORE IT.%XXPULL ;;RESTORE X,Y,A REGISTERS ;;DONE.X;X;"FPSUB ;;SUBTRACT 2 FP NUMBERS%XXPUSH ;;SAVH}E REGISTERS ON STACK%$> ;;LOAD THE FIRST FP NUMBER%> ;; LDFR0R;;INTO FR0&$> ;;LOAD THE SECOND FP NI}UMBER%> ;;  LDFR1R;;INTO FR1 FSUB;;AND SUBTRACT THEM !$> ;;POINT TO THE ADDRESS*%> ;;AT WHICH TJ}O STORE4 FST0R;;AND STORE IT THERE>XXPULL ;;RESTORE REGISTERSH;;RX;\X;f"FPMUL ;;MULTIPLY 2 FP NUMBERSpXXK}PUSH ;;SAVE X,Y,Az$> ;;LOAD THE FIRST%> ;;FP NUMBER LDFR0R;;INTO FR0$> ;;LOAD THE SECOND%> L};;FP NUMBER LDFR1R;;INTO FR1 FMUL;;AND MULTIPLY THEM $> ;;%> ;; FST0R;;STORE THE RESULTXXM}PULL ;;RESTORE X,Y,A;;X;X; FPDIV ;;DIVIDE 2 FP NUMBERSXXPUSH ;;SAVE X,Y,A$> ;;LOAD THE FIRST$%> N};;FP NUMBER. LDFR0R;;INTO FR08$> ;;AND THE SECONDB%> ;;FP NUMBERL LDFR1R;;INTO FR1V FDIV;;FR0/FO}R1` $> ;;j%> ;;t FST0R;;STORE THE RESULT~XXPULL ;;RESTORE X,Y,A;;X;X;%AFP ;;CONVERT ASCII P}STRING TO FPXXPUSH ;;SAVE X,Y,AQ> ;;INBUFF POINTS TOPINBUFF;;ASCII STRINGQ> ;;PINBUFFQ>Q};;OFFSET ISPCIX;;SET TO ZERO AFP;;DO THE CONVERSION$> ;;SET THE POINTERS *%> ;;TO THE ADR IN THE MACROR} CALL FST0R;;AND STORE THE NUMBERXXPULL ;;RESTORE X,Y,A(;;2X;<X;FFASC ;;CONVERT FP TO ASCIIPXXPUSH ;;S}SAVE X,Y,AZ$> ;;POINT TO FP NUMBERd%> ;;n LDFR0R;;AND LOAD INTO FR0x FASC;;PERFORM CONVERSION,$> T};;SET POINTERS TO BUFFER AT WHICH'%> ;;TO STORE THE ASCII STRING FASC;;AND DO IT %>;;&FASC1;PUT A CARRIAGU}E RETURN AFTER3;;THE STRINGQ 8;;GET EACH BYTE,IFASC1;;IS THIS THE LAST CHARACTER? NO.M>;;YES, CLEAR MSBP V}8;;AND STORE IT3;;Q>;;END THE STRINGP 8;;WITH A CRXXPULL ;;RESTORE X,Y,A;;X;"X;,+PRINTERR;SUBW}ROUTINE TO PRINT TO SCREEN6%PICBLL;;PUT ACCUMULATOR INTO IOCB@Q>;;BUFFER LENGTH LOJPICBLH;;ZERO THE HI BYTETA;;PUTX} X INTO^PICBAL;;BUFFER ADDRESS LOhC;;AND Y INTOrPICBAH;;BUFFER ADDRESS HI|Q> ;;CODE FORPICCOM;;PUT RECORD$>Y};;USE IOCB #0 - EDITOR CIOV;;AND PRINT THE STRING :;;RETURNX;X;)FPI ;;CONVERT FP TO TWO BYTE INTEGERXXZ}PUSH ;;SAVE X,Y,A$> ;;SET POINTER%> ;;$ LDFR0R;;LOAD FP NUMBER INTO FR0 FPI;;CONVERT TO INTEGERQF[}R0;;AND STORE THEP ;;TWO BYTE INTEGER%QFR0;;AT THE ADDRESS SPECIFIEDP ;;IN THE MACRO CALL&XXPULL ;;RES\}TORE X,Y,A0;;:X;DX;N'IFP ;;CONVERT 2 BYTE INTEGER TO FPXXXPUSH ;;SAVE X,Y,AbQ ;;PUT INTEGERlPFR0;;INTO F]}R0vQ ;;ANDPFR0;;FR1 IFP;;PERFORM THE CONVERSION$> ;;POINT TO THE!%> ;;DESTINATION ADDRESS^} FST0R;;AND STORE THE RESULTXXPULL ;;RESTORE X,Y,A;;X;X;LN ;;NATURAL LOGARITHMXXPUSH ;;SAVE X,Y,A_}$> ;;POINT TO THE%> ;;FP NUMBER LDFR0R;;AND LOAD INTO FR0  LOG;;COMPUTE NATURAL LOG-$> ;;POINT `}TO THE DESTINATION ADDRESS %> ;;* FST0R;;AND STORE THE RESULT4XXPULL ;;RESTORE X,Y,A>;;HX;RX;\$LOG ;a};COMPUTE BASE 10 LOGARITHMfXXPUSH ;;SAVE X,Y,Ap$> ;;POINT TO THEz%> ;;FP NUMBER LDFR0R;;AND LOAD ITb} LOG10;;COMPUTE BASE 10 LOG-$> ;;POINT TO THE DESTINATION ADDRESS%> ;; FST0R;;AND STORE THE RESULTXc}XPULL ;;RESTORE X,Y,AX;X;"GETEL ;;GET AN ELEMENT OUT OF$XXPUSH ;;AN ARRAY OF FP NUMBERSQ ;;%2 = THE ELd}EMENT TOP;;BE RETRIEVED Q> ;;MAKE $B0 POINT P;;TO THE BASE Q> ;;ADDRESS OF THE$ P;;FP ARRAY. %;e};TARGET ELEMENT8 )>;;IS IT THE FIRST ONEB FGETEL4;;YES, GET ITL 1;;NOV GETEL1;COMPUTE ITS ADDRESS` 1;;BY MULTIPLYINf}G Yj ,;;BY 6t Q;;AND ADJUST $B0~ O>;;TO POINT P;;TO THE EGETEL3;;TARGET ELEMENT GETEL2 )>;;DONE YET? g}HGETEL1;;NO $!GETEL4;;YES, GET TARGET ELEMENT GETEL3;IF $B0 OVERFLOWS, #;;INCREMENT $B1 !GETEL2;; GETEL4 q}?B%DOS SYSB*)DUP SYSB SRAMDISK COMBF\SETUP COMB8COPY32 COMB9DISKFIX COMB&FP LIBBT9FPANNOT LIBBTRIG LIBBFPDEMO M65BMSG M65BTRIGDEMOM65B#FPDEMO COMB TRIGDEMOCOMB ;CHAR23 MAPBDSEQ1 PGMBFSEQ2 PGMBHANTIC PGMBNSHIP PGMBQMENU PGMBVTITLE PGMB\SELECT1 PGMB^SELECT2 PGMBbAUTHOR PGMBfRAYGUN SNDBgCASTLE1 SCRBvTURRETA SCRBwTURRETADSCRBxTURRETB SCRByTURRETBDSCRBzTURRETC SCRB{TURRETCDSCRB|CLEAR SCRBFLASH SCR/]5BPgĀĀgĀ g `!!&g"."##x$ $&%%_ '^'(Ug&U)̀(%>;; GETEL5;TRANSFER TARGET 3;;ELEMENT INTO Q@7;;DESTINATION ADDRESS P 8;; )>;;( HGETEL5;;2 XXPULL ;r};RESTORE X,Y,A< F X;P X;Z +PUTEL ;;PUT AN ELEMENT INTO A FP ARRAYd XXPUSH ;;SAVE X,Y,An Q ;;%2 = TARGET ELEMENTx s}P;;STORE IT IN $B2 Q> ;;MAKE $B0 POINT TO P;;THE BASE ADDRESS Q> ;;OF THE FP ARRAY P;; !%;;GET Tt}ARGET ELEMENT NUMBER )>;;IS IT THE FIRST FPUTEL4;;YES, GET IT 1;;NO, ADJUST $B0 !PUTEL1;BY MULTIPLYING Y BY 6 1u};;AND ADDING TO Z$B0 & $B1 ,;;SO THAT THEY POINT Q;;TO THE TARGET ELEMENT O>;; P;; EPUTEL3;; PUTEL2" )>v};;DONE YET?, !HPUTEL1;;NO, CONTINUE LOOPING6 !PUTEL4;;YES, GET ELEMENT@ PUTEL3;IF $B0 OVERFLOWS,J #;;INCREMENT $B1w}T !PUTEL2;;^ PUTEL4h %>;;r PUTEL5;PUT FP NUMBER| 3;;INTO THE TARGET Q 8;;ELEMENT OF THE P@7;;ARRAY )>x};; HPUTEL5;; XXPULL ;;RESTORE X,Y,A ;; X; X; SQR ;;SQUARE ROOT XXPUSH ;;SAVE X,Y,A $> ;;POINT TOy} THE %> ;;FP NUMBER ! LDFR0R;;AND LOAD IT INTO FR0  LOG;;TAKE THE LOG (FPMOVE CONST2=FR1;;PUT 2 INTO FR1 z} FDIV;;AND DIVIDE FR0/FR1&  EXP;;TAKE THE INVERSE LOG0 $> ;;SET POINTERS: %> ;;D  FST0R;;AND STORE RESULTN {}XXPULL ;;RESTORE X,Y,AX ;;b X;l X;v FPMOVE ;;MOVE A FP NUMBER XXPUSH ;;SAVE X,Y,A $>;; "FPMOVE1;6 BYTES |}WILL BE MOVED 2;; Q 9;;SOURCE P 9;;DESTINATION (>;;DONE YET? HFPMOVE1;;NO XXPULL ;;YES, RESTORE X,Y,A }};; X; X; "FPCOMP ;;COMPARE 2 FP NUMBERS XXPUSH ;;SAVE X,Y,A 0FPSUB = =LBUFF;;SUBTRACT 2ND FROM 1ST QL~}BUFF;;GET EXPONENT FFPCOMP3;;IF ZERO, %1=%2* "GFPCOMP1;;IF MSB IS SET, %1<%24 !FPCOMP2;;ELSE %1>%2> FPCOMP1H Q>;;}RETURN -1R P ;;\ !FPCOMP4;;f FPCOMP2;%1 < %2p Q>;;RETURN 1z P ;; !FPCOMP4;; FPCOMP3;%1 = %2 Q>;;RETU}RN 0 P ;; FPCOMP4 XXPULL ;;RESTORE X,Y,A ;; X; X; INPUTFP ;;INPUT A FP NUMBER XXPUSH ;;SAVE X,Y,A} / GETNUM;;GET THE ASCII STRING FROM KEYBOARD AFP = ;;CONVERT TO FPXXPULL ;;RESTORE X,Y,A;;X;$X;. }PRINTFP ;;PRINT A FP NUMBER8XXPUSH ;;SAVE X,Y,AB&FASC =;;CONVERT FP TO ASCIIL$>;;ICBALV%>;;ICBAH`Q>;};ICBLLj PRINTERR;;PRINT ITtXXPULL ;;RESTORE X,Y,A~;;X;X;BIEQ ;;BRANCH IF %1 = %2XXPUSH ;;SAVE X,Y,A}4FPCOMP = =LBUFF;;PERFORM FP COMPARISONQLBUFF;;ARE THEY EQUALHBIEQ2;;NOBIEQ1;YESXXPULL ;;RE}STORE X,Y,A! ;;AND BRANCH BIEQ2XXPULL ;;RESTORE X,Y,A;;DON'T BRANCH X;X;BIGT ;;BRANCH IF %1 > %2(}XXPUSH ;;SAVE X,Y,A24FPCOMP = =LBUFF;;PERFORM FP COMPARISON<QLBUFF;;FR>;;IS %1 > %2PHBIGT2;;NOZ}BIGT1;YESdXXPULL ;;RESTORE X,Y,An! ;;AND BRANCHxBIGT2;ELSEXXPULL ;;RESTORE X,Y,A;;DON'T BRANCHX;}X;BILT ;;BRANCH IF %1 < %2XXPUSH ;;SAVE X,Y,A4FPCOMP = =LBUFF;;PERFORM FP COMPARISONQLBUFF;;}R>;;IS %1 < %2HBILT2;;NOBILT1;YESXXPULL ;;RESTORE X,Y,A! ;;AND BRANCHBILT2;ELSEXXPULL ;;RESTO}RE X,Y,A;;DON'T BRANCH"X;,X;6#EXPON ;;EXPONENTIATION - %1^%2@XXPUSH ;;SAVE X,Y,AJ$> ;;POINT TO THE BASE}T%> ;;^! LDFR0R;;AND LOAD IT INTO FR0h" LOG;;TAKE THE LOG OF THE BASEr)FPMOVE =FR1;;PUT EXPONENT IN FR1|+} FMUL;;MULTIPLY LOG OF BASE BY EXPONENT EXP;;TAKE INVERSE LOG)$> ;;POINT TO DESTINATION ADDRESS%> ;; }FST0R;;AND STORE RESULTXXPULL ;;RESTORE X,Y,A;;X;X;$EXP ;;INVERSE NATURAL LOG - e^XXXPUSH ;;SAVE X,Y},A$> ;;POINT TO THE%> ;;FP NUMBER LDFR0R;;AND LOAD INTO FR0" EXP;;TAKE INVERSE NATURAL LOG)$> };;POINT TO DESTINATION ADDRESS%> ;;& FST0R;;AND STORE RESULT0XXPULL ;;RESTORE X,Y,A:;;DX;NX;X EXP10} ;;INVERSE BASE 10 LOGbXXPUSH ;;SAVE X,Y,Al$> ;;POINT TO THEv%> ;;FP NUMBER! LDFR0R;;AND LOAD IT INTO F}R0' EXP10;;COMPUTE INVERSE BASE 10 LOG)$> ;;POINT TO DESTINATION ADDRESS%> ;; FST0R;;AND STORE RESULT}XXPULL ;;RESTORE X,Y,A;;X;X;!XXPUSH ;;SAVE X,Y,A ON STACK5C5A 5 X;*X;4"XXPULL ;;PU}LL X,Y,A OFF STACK>7H>R7\?f7pzX;X;/GETNUM;SUBROUTINE TO GET INPUT FROM EDITORQ>;;BUFFER LENGTH LO} PICBLL;; Q>;; PICBLH;;&Q>;;BUFFER ADDRESS = LBUFF $0580 PICBAL;; Q>;; PICBAH;;Q>;;CODE FOR GET }RECORD PICCOM;;$>;;USE IOCB #0 - EDITOR CIOV;;GET INPUT :;;RETURNL;; Q>;; PICBAH;;Q>;;CODE FOR GET O d!X; TRIGONOMETRIC MACRO LIBRARYnX;xX; FILE ----> TRIG.LIBX;X; Copyright (c) 1986 X; by: Louis J. Choric!}h IIIX;$X; From ANTIC, The Atari ResourceX;X; @DIFF0 @INC0@APPROX0 @TEMP0 @TEMP10 @TE!}MP20 @TEMP30 @TEMP40@RADIANS0"@CONST00,@CONST116@CONST22@@CONSTM1-1J@PI3.141592654!}T@PID21.570796327^@PD18057.29577951h @FLAG r 10FADD| FSUB`چ FADDfڐ FMULښ FDIV(ۤLDFR0!}RݮLDFR1Rݸ FST0R FMOVE FR0 FR1X;X; @FPLSINQ> P@FLAG$>@RADIANS&!}%>@RADIANS0 LDFR0R:$>@APPROXD%>@APPROXN FST0RX$>@DIFFb%>@DIFFl FST0Rv$>@CONST1!}%>@CONST1 LDFR0R $>@INC%>@INC FST0R @FPLSIN1$>@RADIANS%>@RADIANS LDFR0R!}$>@RADIANS%>@RADIANS LDFR1R FMUL FMOVE $>@CONST0%>@CONST0  LDFR0R* FSUB4$>@D!}IFF>%>@DIFFH LDFR1RR FMUL\$>@TEMPf%>@TEMPp FST0Rz $>@INC%>@INC LDFR0R$>@!}CONST2%>@CONST2 LDFR1R FMUL$>@TEMP1%>@TEMP1 FST0R$>@CONST1%>@CONST1 !}LDFR1R FADD$>@TEMP1%>@TEMP1 LDFR1R$ FMUL. FMOVE8$>@TEMPB%>@TEMP1L%>@TEMPV !}LDFR0R` FDIVj$>@DIFFt%>@DIFF~ FST0R$>@APPROX%>@APPROX LDFR1R FADD$>@APPROX!}%>@APPROX FST0R $>@INC%>@INC LDFR0R$>@CONST1%>@CONST1 LDFR1R  FADD $>@I!}NC%>@INC( FST0R2 Q@FLAG<R> FH@F3P:Z@F3d #@FLAGn !@FPLSIN1xX;X; SIN  $>  %> !} LDFR0R$>@RADIANS%>@RADIANS FST0R @FPLSIN$>@APPROX%>@APPROX LDFR0R $> !} %>  FST0R"X;,X;6 COS @ $>@PIJ %>@PIT LDFR0R^$>@CONST2h%>@CONST2r LDF!}R1R| FDIV $>  %>  LDFR1R FSUB$>@TEMP%>@TEMP FST0RSIN @TEMP= X;!}X; TAN SIN =@TEMP4$>@PID2%>@PID2 LDFR0R& $> 0 %> : LDFR1RD FSUBN$>@RADI!}ANSX%>@RADIANSb FST0Rl @FPLSINv$>@APPROX%>@APPROX LDFR1R$>@TEMP4%>@TEMP4 !}LDFR0R FDIV $>  %>  FST0RX;X; COT TAN =FR1 $>@CONST1%>@CONST1  !} LDFR0R* FDIV4 $> > %> H FST0RR\X;fX;p SCN zCOS =FR1$>@CONST1%>@CONST1!} LDFR0R FDIV $>  %>  FST0RX;X; CSC SIN =FR1$>@CONST1 %>@CONST1!} LDFR0R FDIV$ $> . %> 8 FST0RB L X;V X;` TORAD j $>@PD180t %>@PD180~ LDFR1R $> !} %>  LDFR0R FDIV $>  %>  FST0R  X; X; TODEG $>@PD180 %>@PD180!} LDFR1R $>  %> ( LDFR0R2 FMUL< $> F %> P FST0RZ EG $>@PD180 %>@PD180 \6 dX;FP MACRO LIBRARY DEMOnX;xX;COPYRIGHT (C) 1986X; By: Louis J. Chorich IIIX;#X;From ANTIC, The Atari Reso%}urceX;X;P !BEGINX;>D:MSG.M65>D:FP.LIBX;X; REAL10 REAL20 REAL30 REAL40"%} RESULT0,RESULT106RESULT20@RESULT30JRESULT40TBUFF1 ^BUFF2 hCOUNTERMSG18 r EL %}|X;X;X;START OF THE PROGRAMX; BEGIN $>MSG1%>MSG1 PRINT $>MSG2%>MSG2 PRINT%} $>MSG3%>MSG3 PRINT$>MSG33%>MSG33 PRINT&$>MSG340%>MSG34: PRINTD$>MSG33%}N%>MSG33X PRINTb$>MSG35l%>MSG35v PRINT$>MSG33%>MSG33 PRINT $>MSG6%>M%}SG6 PRINT CR CR$>INTROMSG%>INTROMSG PRINT CR$>INTROMSG1%>INTROMSG1  %}PRINT$>INTROMSG2 %>INTROMSG2* PRINT4 START> $>MSG5H%>MSG5R PRINT\ CRf CRp$>INPUTA%}z%>INPUTA PRINTINPUTFP REAL1 CR$>INPUTB%>INPUTB PRINTINPUTFP REAL2 CR!%}FPDIV REAL1=REAL2=RESULT4!FPSUB REAL1=REAL2=RESULT2!FPMUL REAL1=REAL2=RESULT3!FPADD REAL1=REAL2=RES%}ULT1$>ADDMSG%>ADDMSGQ> PRINTLEN$PRINTFP RESULT1.$>SUBMSG8%>SUBMSGBQ>L PRINTL%}ENVPRINTFP RESULT2`$>MULMSGj%>MULMSGtQ>~ PRINTLENPRINTFP RESULT3$>DIVMSG%>DIVMSG%}Q> PRINTLENPRINTFP RESULT4 START$>LOGMSG%>LOGMSGQ>; PRINTLENLN REAL1=RESULT%}1PRINTFP RESULT1 $>LOG10MSG%>LOG10MSGQ>( PRINTLEN2LOG REAL1=RESULT<PRINTFP RESULTF %}CRP CRZ$>INVLOGMSGd%>INVLOGMSGnQ>x PRINTLENEXP REAL2=RESULTPRINTFP RESULT$>INVLOG10MS%}G%>INVLOG10MSGQ> PRINTLENEXP10 REAL2=RESULTPRINTFP RESULT CR CR$>EXPOMSG%>%}EXPOMSGQ> PRINTLEN EXPON REAL1=REAL2=RESULTPRINTFP RESULT" CR,$>SQRMSG6%>SQRMSG@%}Q>J PRINTLENTSQR REAL1=RESULT2^PRINTFP RESULT2h STARTr $>MSG8|%>MSG8 PRINT CR $>MSG%}9%>MSG9Q> PRINTLENPRINTFP REAL1$>MSG10%>MSG10Q> PRINTLENPRINTFP REAL2%} CR CRBIEQ REAL1=REAL2=EQUALBIGT REAL1=REAL2=GREAT&BILT REAL1=REAL2=LESS0 EQUAL:$>EQUALMS%}GD%>EQUALMSGN PRINTX !ARRAYSb GREATl$>GREATERMSGv%>GREATERMSG PRINT !ARRAYSLESS$>%}LESSMSG%>LESSMSG PRINT ARRAYS START$>MSG11%>MSG11 PRINT CRQ>0 PCOUNTER %}Q>PEL  PRINTLOOP* #COUNTER4#EL>GETEL BASEADR=EL=REAL4H$>MSG18R%>MSG18\Q> f PRINTLENp%}PRINTFP REAL4zQELR>  FARRAYS2!PRINTLOOP ARRAYS2Q>PELPUTEL BASEADR=EL=REAL1Q> PE%}LPUTEL BASEADR=EL=REAL2 CR$>MSG12%>MSG12 PRINT $>MSG13 %>MSG13$ PRINT. STAR%}T8 $>MSG14B %>MSG14L PRINTV  CR` Q>0j PCOUNTERt Q>~ PEL PRINTLOOP1 #COUNTER #EL GETEL %}BASEADR=EL=REAL3 $>MSG18 %>MSG18 Q> PRINTLEN PRINTFP REAL3 QEL R> FDONE !PRINTLOOP1 %} DONE :=REAL3 $>MSG18 %>MSG18 Q> PRINTLEN PRINTFP REAL3 QEL R> FDONE !PRINTLOOP1 $ ; dX; FILE ----> MSG.M65nX;xX;"X; SUBROUTINES AND MESSAGES FORX; USE BY FPDEMO.M65X;X; Copyright (c)1986 b)}y:X; Louis J. Chorich IIIX;$X; From ANTIC, The Atari ResourceX;X;&X;SUBROUTINE TO OUTPUT CR TO EDITORC)}R$>CRMSG%>CRMSG PRINT:X;"X;,$X;SUBROUTINE TO PRINT A STRING TO6!X;THE SCREEN. X REG HOLDS THE@)}#X;LOW BYTE OF THE STRING ADDRESSJ"X;Y REG HOLDS HI BYTE OF STRINGT X;ADDRESS^X;h PRINTr &ICBAL| 'ICBAHQ>  P)}ICCOMQ> PICBLL PICBLH$> CIOV:X;X;#X;SUBROUTINE TO WAIT UNTIL STARTX;KEY IS PRESSED AND THEN)} X;CONTINUEX; START CR& CR0 $>MSG4:%>MSG4D PRINTN START1XQbR>l HSTART1v:X;)}X;$X;SUBROUTINE TO PRINT A STRING OF X;THE LENGTH INDICATED BY THE X;CONTENTS OF THE ACCUMULATOR*X;X REG HOLDS LO BYT)}E OF STRING ADDRESS*X;Y REG HOLDS HI BYTE OF STRING ADDRESSX; PRINTLEN PICBLLQ> PICBLH &ICBAL 'ICBAH)} Q>  PICCOM $>* CIOV4:>X;HX;RADDMSG AA + B = A=\SUBMSG AA - B = A=fMULMSG AA * B = A=p)}DIVMSG AA / B = A=z6LOGMSG }=AӠŠԠΠA ==ANATURAL LOG OF A = A#LOG10MSG ABA)}SE 10 LOG OF A = A$SQRMSG ASQUARE ROOT OF A = A=EXPOMSG AA^B = A=4MSG1 }=A *******************************)}*A=2MSG2 A * FLOATING POINT MACRO LIBRARY *A=3MSG33 A * *A=3MSG34 A * b)}y: Louis J. Chorich III *A=3MSG35 A * From ANTIC, The Atari Resource *A=2MSG3 A * DEMONSTRATION )} *A=)MSG4 APRESS START TO CONTINUE...A=-MSG5 }=ABASIC ARITHMETIC OPERATIONSA=1MSG6 A ******************)}**************A=#INPUTA AENTER FP NUMBER A:A=#INPUTB AENTER FP NUMBER B:A=gINTROMSG AThis program demonstra)}tes the use of the macros contained in the FP Macro Library.A=$]INTROMSG1 AIt is divided into sections which demon)}strate the various capabilitesA=.#INTROMSG2 Aof the Library.A=8 CRMSG B*INVLOGMSG AINVERSE NATURAL LOG OF B=AL)},INVLOG10MSG AINVERSE BASE 10 LOG OF B=AVEXPONMSG AA^B =A`(GREATERMSG AA IS GREATER THAN BA=j"LESSMSG AA IS LES)}S THAN BA=t"EQUALMSG AA IS EQUAL TO BA=~KMSG7 AUSING THE BIEQ, BIGT, AND BILT MACROS,I HAVE DETERMINED THATA=.)}MSG8 }=ATHE NUMBERS YOU ENTERED ARE:A=MSG9 AA = AMSG10 AB = A5MSG11 }=AHere is an array of 10 FP numbers.A)}=XMSG12 AWhen you press START, I'll take the two numbers (A & B) you previouslyA=ZMSG13 Aentered and insert the)}m into elements 3 and 9 of the floating point array.A=(MSG14 }=AHere's the new array:A=TMSG15 ADo you see the nu)}mbers you entered at elements 3 and 9 of the array?A=YMSG16 AIf you examine the FPDEMO.M65 source code, you'll notice )}that only one callAaMSG17 Ato the PRINTFP macro is necessary to print all ten numbers. It is put in aloop.A=MSG18)} AElement #1: A BASEADR13  56.34-43.3333333( 0.452 0.25< 5432.84F 3.14156P6.02205E23Z )}5.91E-12 #1: A BASEADR13  56.34-43.3333333( 0.452 0.25< 5432.84F 3.14156P6.02205E23Z ( dX;TRIG MACRO LIBRARY DEMOnX;xX;COPYRIGHT (C) 1986X; By: Louis J. Chorich IIIX;$X; From ANTIC, The Atari R-}esourceX;P !BEGINX;>D:TRIG.LIB>D:FP.LIBX;X; REAL0 REAL10 RESULT0#MSG2 AENTE-}R AN ANGLE (0-360) A!MSG3 }=ATHE SINE IS A"MSG4 ATHE COSINE IS A,MSG5 ATHE TANGENT IS A6MSG6 ATHE-} COTANGENT IS A@MSG7 ATHE SECANT IS AJMSG8 ATHE COSECANT IS AT$MSG9 ATHE ANGLE IN DEGREES IS A^%MSG10 ATHE -}ANGLE IN RADIANS IS Ah#MSG11 APRESS START FOR DOSA=r6MSG12 }=A ********************************A=|4MSG13 A *-} *A=4MSG14 A * TRIG MACRO LIBRAY *A=4MSG15 A * by: Louis J. Chor-}ich III *A=4MSG16 A * From ANTIC, The Atari Resource *A=3MSG17 A ********************************A=X;-}X;X;START OF THE PROGRAMX; BEGIN$>MSG12%>MSG12 PRINT$>MSG13%>MSG13 PRINT$-}>MSG14&%>MSG140 PRINT:$>MSG13D%>MSG13N PRINTX$>MSG15b%>MSG15l PRINTv$>MSG13-}%>MSG13 PRINT$>MSG16%>MSG16 PRINT$>MSG13%>MSG13 PRINT$>MSG17%>-}MSG17 PRINT CR CR CR  $>MSG2%>MSG2 Q>* PRINTLEN4INPUTFP REAL1>TORAD REAL1=-}REALH CRR CR\ $>MSG3f%>MSG3pQ>z PRINTLENSIN REAL=RESULTPRINTFP RESULT $>MSG4%>-}MSG4Q> PRINTLENCOS REAL=RESULTPRINTFP RESULT $>MSG5%>MSG5Q> PRINTLENTA-}N REAL=RESULTPRINTFP RESULT $>MSG6%>MSG6$Q>. PRINTLEN8COT REAL=RESULTBPRINTFP RESULTL-} $>MSG7V%>MSG7`Q>j PRINTLENtSCN REAL=RESULT~PRINTFP RESULT $>MSG8%>MSG8Q> -} PRINTLENCSC REAL=RESULTPRINTFP RESULT CR CR $>MSG9%>MSG9Q> PRINTLENPRINTFP-} REAL1  CR$>MSG10%>MSG10(Q>2 PRINTLEN<PRINTFP REALF CRP CRZ STARTd:nX;xX; CR-}MSG X;&X;SUBROUTINE TO OUTPUT CR TO EDITORCR$>CRMSG%>CRMSG PRINT:X;X;$X;SUBROUTINE T-}O PRINT A STRING TO!X;THE SCREEN. X REG HOLDS THE#X;LOW BYTE OF THE STRING ADDRESS"X;Y REG HOLDS HI BYTE OF STRING X-};ADDRESSX;" PRINT, &ICBAL6 'ICBAH@Q> J PICCOMTQ>^ PICBLLh PICBLHr$>| CIOV:X;X;#X;SUBR-}OUTINE TO WAIT UNTIL STARTX;KEY IS PRESSED AND THEN X;CONTINUEX; START CR CR$>MSG11%>MSG11-} PRINT START1QR>& HSTART10::X;DX;N$X;SUBROUTINE TO PRINT A STRING OFX X;THE LENGTH INDICATED BY TH-}Eb X;CONTENTS OF THE ACCUMULATORl*X;X REG HOLDS LO BYTE OF STRING ADDRESSv*X;Y REG HOLDS HI BYTE OF STRING ADDRESSX; -}PRINTLEN PICBLLQ> PICBLH &ICBAL 'ICBAHQ>  PICCOM$> CIOV:X;X;STRING ADDRESSX; ,gPPLXVR P`DE BHI V` P PQ P`HIDE B V`A + B = A - B = A * B = A / B = }1}ӠŠԠΠNATURAL LOG OF A = BASE 10 LOG OF A = SQUARE ROOT OF A = A^B = } ******************1}********PQ****** * FLOATING POINT MACRO LIBRARY * * * * by: Louis J. Chorich III 2}* * From ANTIC, The Atari Resource * * DEMONSTRATION *PRESS START TO CONTINUE...}BASIC ARITHMETIC OPERAT2}IONS *******QR*************************ENTER FP NUMBER A:ENTER FP NUMBER B:This program demonstrates the use of the m2}acros contained in the FP Macro Library.It is divided into sections which demonstrate the various capabilitesof the Li2}brary.INVERSE NATURSRAL LOG OF B=INVERSE BASE 10 LOG OF B=A^B =A IS GREATER THAN BA IS LESS THAN BA IS EQUAL TO BUSING2} THE BIEQ, BIGT, AND BILT MACROS,I HAVE DETERMINED THAT}THE NUMBERS YOU ENTERED ARE:A = B = }Here is an array of 10 FP numb2}ers.When you press START,ST I'll take the two numbers (A & B) you previouslyentered and insert them into elements 3 and2} 9 of the floating point array.}Here's the new array:Do you see the numbers you entered at elements 3 and 9 of the array?I2}f you examine the FPDEMO.M65 souTUrce code, you'll notice that only one callto the PRINTFP macro is necessary to print al2}l ten numbers. It is put in aloop.Element #1: @@V4@3330?E?%AT2@`K`":UU@HI2 }DE B V`HIDEB V`U$VWVRWߠP PQ 2 }PQ P'Q PKQ P'Q PoQ P'Q PQ P P P8R P PR PנR P $PҠQ P P PR PHHH UHHH2 } آU hhhhhh P%R PHHH UHHH آU hhhhhh PHHHUhhhHHHSWNXUh2 }hh (HHHԝVhhhHHHU ݢU `ڢV hhhHHHU ݢU ڢV hhhHHHU ݢU fڢ V 2 }hhhRP 9PHHHHHH V ݢ ؠ0轁0L Xȹ)ȩhhh Uhhh[P 9PHHHHHHOXJYV2} ݢ ؠ0轁0LfXȹ)ȩhhh UhhhdP 9PHHHHHHV ݢ ؠ0轁0LX2}ȹ)ȩhhh UhhhmP 9PHHHHHHV ݢ ؠ0轁0LYȹ)ȩhhh Uh2}KYFZhh $PvP; 9PHHHU ޢ V hhhHHHHHH V ݢ ؠ0轁0LYȹ)ȩhhh Uh2}hhP 9PHHHU ޢV hhhHHHHHHV ݢ ؠ0轁0LZȹ)ȩhhh Uhhh 2}P PGZB[R 9PHHHU ݢV hhhHHHHHHV ݢ ؠ0轁0LZȹ)ȩhhh Uhh2}hS 9PHHHU ݢV hhhHHHHHHV ݢ ؠ0轁0L[ȹ)ȩhhh Uhhh P 2}PؠP 9PHC[>\HHU HHHUhhh ݢV hhhHHHHHHV ݢ ؠ0轁0L[2}ȹ)ȩhhh Uhhh PĠP 9PHHHU HHH轱Uhhh ( ݢV hhhHHHHHHV ݢ 2}ؠ0轁?\:]0L:\ȹ)ȩhhh Uhhh $PS P PS 9PHHHHHHU ݢ ؠ0轁2}0L\ȹ)ȩhhh UhhhS 9PHHHHHHU ݢ ؠ0轁0L\ȹ)ȩhhh2} Uhhh P PHHHH;]6^HHHHHU ݢU `ڢ hhh0Ls]L]L]hhhhhhLe^hhhHH2}HHHHHHHU ݢU `ڢ hhh0L]L]L]hhhhhhLo^hhhHHHHHHHHHU ݢU2} `ڢ hhh0L=^7^2_LJ^LJ^hhhhhhLy^hhhDS PL^S PL^3S P $PS P P0rU2}WVrUWVHHHWVuUiL^L^ȱVhhhiU 9PHHHHHHV ݢ ؠ0轁2}0L _ȹ)ȩhhh 3_.`UhhhWV L^WVHHHWVuUiLw_Lk_ȹUhhh2} WVHHHWVuUiL_L_ȹUhhh P۠S P$T P $PoT P P0rUWVrUWVHHHWV2}uUiL*`L`ȱ/``UhhhiU 9PHHHHHHU ݢ ؠ0轁0Lg`ȹ)2}ȩhhh UhhhWV L_``ȱ/``UhhhiU 9PHHHHHHU ݢ ؠ0轁0Lg`ȹ)0$PPL$S@@@e@W2@W)WyQcP3P ݢP 6!}P ݢ?P ݢ P ݢ3P ݢ3P ݢ9P `ڢP ڢP ݢ P ݢEP ڢP ݢ?P fڢP ݢPP 6"}(ۢP P3QݢP fڢP ݢ P ݢ?P fڢ P ݭcP `cPLP4QqQ@HIDE B V`HIDE6#}B V`rQmRENTER AN ANGLE (0-360) }THE SINE IS THE COSINE IS THE TANGENT IS THE COTANGENT IS T6$}HE SECANT IS THE COSECANT IS THE ANGLE IN DEGREES IS THE ANGLE IN RADIANS IS PRESS START FOR DOS} ********************6%}************ nRiS* * * TRIG MACRO LIBRAY * * by: Louis J. Chorich III 6&} * * From ANTIC, The Atari Resource * ********************************GR SXlR SXR SXlR SXR SXlR SX۠R SX6'}lR SXS SX KX KX jSeTKXQ XHHH SQHHH آxQ hhhhhh]P ݢxQ (ۢrQ KX KXQ XrQ 6(}ݢ3P dPP ݢ~Q HHHHHH~Q ݢ ؠ0轁0L Tȹ)ȩhhh :QhhhQ XQP 6)}EP (ۢrQ `ڢP fTaUP ݢ3P dPP ݢ~Q HHHHHH~Q ݢ ؠ0轁0LTȹ)ȩ6*}hhh :QhhhQ XrQ ݢ3P dPP ݢ-P ݢWP ݢrQ `ڢ3P dPP ݢ-P (ۢ~Q HHHHHH~Q6+} ݢ ؠ0轁0LVUbU]Vȹ)ȩhhh :QhhhРQ XrQ ݢ3P dPP ݢ-P ݢWP ݢrQ 6,} `ڢ3P dPP ݢ-P (ۢ ݢ?P (ۢ~Q HHHHHH~Q ݢ ؠ0轁0LVȹ)ȩhhh6-} :QhhhQ XQP ݢEP (^VYWۢrQ `ڢP ݢP ݢ3P dPP ݢ ݢ?P (ۢ~Q HHHHHH~Q 6.}ݢ ؠ0轁0LVȹ)ȩhhh :QhhhQ XrQ ݢ3P dPP ݢ ݢ?P (ۢ~Q H6/}HHHHH~Q ݢ ؠ0轁0LOZWUXWȹ)ȩhhh :Qhhh KX KXR XHHHHHHxQ ݢ 60}0轁0LWȹ)ȩhhh :Qhhh KXR XHHHHHHrQ ݢ ؠ0轁0LXȹ)61}ȩhhh :Qhhh KX KX lX`JX SX`DVXXE BHI V` KX KX3R SX`HIDE B V`)4{A @ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!"#$%&'()<>-_=|+\*^,.[]/?;:111111111111111111111111111111333313313333313331313331313>3}33133331131131133333131331331333133331133131133333331133131131133331131131333331331333331331333313113113133311311311331333331>4}33133313133133113113113113333133333133133133333133133133133333133133133333313133313113113333133133113333313133313133133333113>5}33113333333131131131131313313313313333313313313313131313313313333313313313131313313313313131131131333113131311333131131131131>6}13133111313131133333311333311333331131131133313133331133111333131131133331333333311313131131133331333331333333331333311311313>7}13133133131311311311311111313133131111111113133333133333133133113131133133111131313111131313131313131331311311111111111313113>8}11311131131113113113131113131311131113311131113131311111111333111111111111111111333111333111333111131131131131131111131333131>9}11111131113111311131313133313131311113131331311111111111113113111111111113313333131131131133113311311311313311111313131111133>:}3113131111131111131111131131111131111131111#$%&'()<>-_=|+\*^,.[]/?;:111111111111111111111111111111333313313333313331313331313<+) @ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-.?333333333333333333333333333333333333333333333333333332223232323232223232333332233B<}23232233232322333333222323332333233322233333223323232323232322333333222323332233233322233333222323332233233323333333222323332B=}33323232223333323232323222323232323333322233233323332332223333333233323332323232223333323232323223323232323333323332333233323B>}33222333332323222323232323232333332223232323232323232333332223232323232323222333332233232322332333233333332223232323232333222B?}33333223323232233232323233333222323332223332322233333222332333233323332333333232323232323232322233333232323232323232332333333B@}23232323232322232323333323232323323323232323333323232323323332333233333322233323323323332223333332333233323332333233333322333BA}32332332333222333332223332322233323222333332333233323332223323333332223233322333323223333332333233322232323222333332223332332BB}33233323333333222323232223232322233333222323232223332333233333323323232323232332333333333333332223333333333333333333333333223BC}3223333332223332332333333323XYZ1234567890-.?333333333333333333333333333333333333333333333333333332223232323232223232333332233@B A SEQ1M CASTLE17 2M LANDING7 1M TURRET6 30M ANTIC6 30M TURRETD6 30M TURRETB6 30M CLEAR6 30M TURRETBD6 30M FE}TURRET6 30M TITLE6 30M TURRETD6 30M TURRETC6 30M AUTHOR6 30M TURRETCD TURRETB6 30M CLEAR6 30M TURRETBD6 30M DPB A SEQ26 30M TURRETB6 30M CLEAR6 30M TURRETBD7 1M MENU7 18 0 198 2 68 1 198 6 68 2 22 4 26 30M SELECT1M SELECJG}T28 0 0 0 08 1 0 0 08 2 0 0 0T A6 30M TURRETBD7 1M MENU7 18 0 198 2 68 1 198 6 68 2 22 4 26 30M SELECT1M SELECH%* ANTIC* MAGAZINE.* THE ATARI* RESOURCE.** BUILD WORK MACROS*B M W1 FLASH IN CHARACTERQ #0 #1#3 E 1I #2 ANTIC*ENI}#3 E 2I #2 MAGAZINE,*E#3 E 3I #2 THEATARI*E#3 E 4I #2 RESOURCE.*E#2 + 1#0 + 1#1 + 5Q #0 #1C 2I L 27 42O X3M NJ}RAYGUN.SNDO FVL BC 1I L 27 42#0 + 3#1 - 5T M*B M W2 PAUSE BETWEEN LINES#2 = 1#1 + 6#3 + 1O X36 30O FVL BTNK} M** INITIAL SET UP*L U CHAR31L C CASTLE1VL BB A ANTICM TURRETA6 30*#2 = 1 CHARACTER#3 = 1 WORD#0 = 12 COLNL}UMN#1 = 8 ROWR W1 5R W2#0 = 12R W1 9R W2#0 = 16R W1 3#0 + 4R W1 5#0 = 16R W2R W1 9R W2M TURRETAD6 30TX W1NM}.PGMX W2.PGML C CASTLEL X ANTICESOURCE.** BUILD WORK MACROS*B M W1 FLASH IN CHARACTERQ #0 #1#3 E 1I #2 ANTIC*EL#* LANDING SEQUENCE* WITHOUT LANDING GEAR* WHICH WAS CREATED BY HAND*B M W1 ONE LANDING CYCLEVNI C @3J D #0W CO B3RO}6 #1O F#0 + 1#1 + #2#3 + 1#3 > 67#3 = 65*ET M* INITIAL SEQUENCEL U SHIPL C CASTLE1Q 20 84#0 = 1 STARTING JUMPRP}#1 = 5 STARTING DELAY#2 = 0.2 TIMER INCREMENT#3 = 65 ASCI "A"B A SHIPR W1 58T AX W1.PGML C CASTLE1L X SHIPO B3Pw* MENU** BUILD WORK MACROS*B M W1 FLASH IN CHARACTERQ #0 #1#3 E 1I #2 1-EDITOR*E#3 E 2I #2 2-MAPPER*E#3 E 3I #VR}2 3-BUILDER*E#3 E 4I #2 4-BUFFER*E#2 + 1#0 + 1#1 + 5Q #0 #1C 2I L 27 42O X3M RAYGUN.SNDO FVL BC 1I L 27 42VS}#0 + 3#1 - 5T M*B M W2 PAUSE BETWEEN LINES#2 = 1#1 + 6#3 + 1#0 = 16O X36 30O FVL BT M** INITIAL SET UP*L UVT} CHAR31L C CASTLE1VL BB A MENUM TURRETA6 30*#2 = 1 CHARACTER#3 = 1 WORD#0 = 16 COLUMN#1 = 8 ROWR W1 8R W2VU}R W1 8R W2R W1 9R W2R W1 8R W2M TURRETAD6 30TX W1.PGMX W2.PGML C CASTLE1L X MENUE 2I #2 2-MAPPER*E#3 E 3I #T^* DRAGONS TAIL.* VOLUME 2.* GRAPHICS** BUILD WORK MACROS*B M W1 ZAP IN CHARACTERQ #0 #1#3 E 1I #2 DRAGONS TAIL.ZW}*E#3 E 2I #2 VOLUME TWO. *E#3 E 3I #2 GRAPHICS. *E#2 + 1#1 + 6C 3Q #0 #1#0 + 3I L #0 #1#1 + 1#0 - 2Q #0 ZX}#1C 2I L 27 42O X3M RAYGUN.SNDO FVL BC 1I L 27 42#0 + 3#1 - 7T M*B M W2 PAUSE BETWEEN LINESO X36 30O FZY}VL B#0 = 8#1 + 6#3 + 1#2 = 1T M** INITIAL SET UP*#0 = 8 COLUMN#1 = 8 ROW#2 = 1 CHARACTER#3 = 1 LINEL U CHAR23LZZ} C CASTLE1VL B** BUILD FILE*B A TITLEM TURRETA6 30R W1 14R W2R W1 14R W2R W1 14R W2M TURRETAD6 30T AX W1.PGZ[}MX W2.PGML C CASTLE1L X TITLEPHICS** BUILD WORK MACROS*B M W1 ZAP IN CHARACTERQ #0 #1#3 E 1I #2 DRAGONS TAIL.X!* LEFT MOVEMENT OF* SELECT AND CHOPPERS*B M W1Q #0 1VNI C AZ D 1Z U 2O B36 3O FVNI C BZ D 1Z U 2O B36 3^]}O F#0 - 1T M*#0 = 79L C CASTLE1L U CHOPPERHVL BB A SELECT1R W1 77T AX W1.PGMVL X SELECT1Z D 1Z U 2O B36 3\g* CHOPPER DECENT*B M W1VJ D 136 3T M*B M W2J U 1W C36 3VT M*B M W3J U 1W C36 6T M**L C CASTLE1L U Cb_}HOPPERHNQ 80 0C 1I R 143 7Q 83 1I C AVL BI C BO XB A SELECT2R W1 10VQ 91 12I L 96 12Q 126 12I L 130 12Q 96 b`}6C 0I R 127 11Q 80 5I L 143 536 3V36 3VQ 96 12I L 127 12C 1Q 80 13I L 95 13Q 128 13I L 144 13R W2 16R W3 5ba}T AX W1.PGMX W2.PGMX W3.PGML C CASTLEL X SELECT1L X SELECT23VT M*B M W3J U 1W C36 6T M**L C CASTLE1L U C`C* AUTHOR*B M W1Q #0 #1#3 E 1I #2 BY *E#3 E 2I #2 ED CHURNSIDE *E#3 E 3I #2 C. 1986. *E#2 + 1#1 + 6Q #0 #1Ifc} S 3333#0 + 4#1 - 6Q #0 #1M FLASH36 8NT M*#0 = 8#1 = 63#2 = 1#3 = 1L U CHAR23L C CASTLE1NB A AUTHORM TURRETfd}CR W1 46 30#1 + 7#2 = 1#3 + 1#0 = 8R W1 146 30#1 + 7#2 = 1#3 + 1#0 = 28R W1 96 30M TURRETCDT AX W1.PGML C Cfe}ASTLE1L X AUTHORQ #0 #1#3 E 1I #2 BY *E#3 E 2I #2 ED CHURNSIDE *E#3 E 3I #2 C. 1986. *E#2 + 1#1 + 6Q #0 #1Id   #0 #1#3 E 1I #2 BY *E#3 E 2I #2 ED CHURNSIDE *E#3 E 3I #2 C. 1986. *E#2 + 1#1 + 6Q #0 #1IhFUUW'U_&U&U%UWUUWUU_UU_UUzWUUUUzz^UUzWUU]UUzz^UUnh}U^gfUUzU UU]UUzU UU^gfUUUUU]UU_ꪪU_ꯪUU^ffUUWUU]Uni}zUU^ffUzUUWUzUWꯪUWUUWUWUꪪUWUWUꪪUWUWnj}UUꪪUWU_UꪪUWUyUꪪUWUUꪪUꪪUzUz ꪪUz nk}Uz UWUUQUWUU@UWUUUWUUUWUU Unl}@UWUUUTUUUUUUUU PAPUUUT @꺪UU@@UPnm} UUQPUP  @UTqPU@꺪3$ U0PU]\\5s5꺪nn}3 0  3  P3 T3 UU@3no}UP3U3UU@3UT3UUUT3E@U3Unp}UU3T UTȨ3 P UT?}@N"@6-@X? A$6-?:<<%@`<,?6-?:<<A<@ ,b3-,6-?:<<>}%<%A($,0 3$SAVE SCREEN TO DISK'6-Av"@#'6-A8@-6-?:<<<,-6-?:<A<<@>} ,< +'0@@@9@@<(>,($CONVERT 08/14/86 (C) 1986>@@>} ( ( (ŠΠϠˠ(  6.SCR A** A*@@4GRAPH>}ICS COMMAND>)()(ŠӠĠٯΩH 6.YN6-?:<,R@A"\#6-@x# @>}A!pf$($(נԠנٯΩp6-?:<,z6-*@# 6-"@#6-&@>}*@ COLORS( (ŠҠӠٯΩ6-?:<,"@xA#((ŠҠ>}ӿ 6.596-?:<,U"@S6-@(*@K6-?:<@<%@<@,U A#76-@>}*@76-?:<@<<@ , SCREEN A 6-?:<<A<@ , 6-?:<<<,$ 6-?:>}<@<<A0,. @$(# INIT2# B<#GG;A0,;Av,;@,;@ ,;@,;@>} ,F#0 6-C:,6-C:,6-C:,'6-C:,06-C:,P#$ N DT1*Ng6-A#;,6-C:,+6-Aa;6. D:DT1.>}OBJJ6-?:<<<,gF:A,@B 4N6-%@6-%A-6-%AC;6-%ApI6-%A`W6->}%Ae6-%As6-%A6-%A>Ns6-%A&6-%A@-6-%AF;6-%ARI6-%A8>}W6-%Are6-%Axs6-%A"6R DT2R[6-A;,6-C:,/6. D1:GF.OBJ>6-?:<<<,[F:A,>}@B Rk 6-6-%@t%6-%AW36-%AA6-%AbO6-%A8]6-%Ak6-%Ax>}S DT3T\6-As;,6-C:,06. D1:GF2.OBJ?6-?:<<<,\F:A,@B T 6-6-%@W$>}U ERRORU(( ĠҠV B  D:CONVERT.BASSECBUPSECPADLMOVSAPBYTSCRBBUFSAVCDT1QLOAQ<Egak haliamg  ,*lonqj'ospt2qurvCRvt xusyoszw {1xv|ov}zT*{y*|y*}y*~y~y*y o oTy0Sm*T** oT:&  oRT&=0SmO{wB@DDwABGDgCBDABBD\*p#) COD BDBD{BDB%kB(O?OO %x`0 3 h ABDqCA D $DDB"DB#DQB$D#oBpBC#qBKrB"DBDCBD3BDCC1DX A DBCD1BDBD2^fed%c2a%`%, MM# B=D%]1~DBD BC3D*BDC6D| 0| 0~X$-D*0 !  wO |&6+0 +; o +"N9A.Gi+O !f "##!$>+%R#&-0C!%(-#" )=!*`%$ +?#,a'& -A%.b)( /C'0c+* 1E)2d-, 3H+4e/. 5J-6f10 7L/8g32 9N1:h54 ;P3<i76 =5>q98 ?C7=Cs;: A9Bt< C;v"E@+F$GB+H&ID+J(KI+L*M)NOW,PK+Q.RM+S0TO+U2VQ+W4X+YS#rTR[US\VS]WS^XS_YS`ZSa[Sb\Sc]Sd^Se_Sf`SgaShbSicSjdSkeSlfSmgSnhSoiSpjSqkSrlSsmStnSuoSvpSwqSxSysRztr{ur|vr}wr~xryrzr{r|r}r~rG TYPING TUTOR LOADING WORD INVADERS ԍ/@Ԣ _ "/` N݆LL``8 eLx 8 `L ȅFƐ ee&L `إ*ِ`ʠ`ACADEMY SOFTWA ԩ s 5ө ԩ s  ө ԩ s `HƩ( heee e`H 8 h` 8 ` 8 )eiZ ~ * .(   $ CRDSD ,:8s+-+#%{0++ 6 <  /8<++++ + (DTD+-o/<o12#3'o45C6o7(8o91:=%>?$@A%B:C:D%EFGWHuIJ6BKL M#N! OPPQ2t:FB%DDnB#BB.BTlBU5-t#DAD8MjBC7DDB;DAD  5   5 P 55. r  % #pq t# js u